/*
 * @Descripttion: 表格查询规则匹配
 * @version:
 */
/**
 *搜索框参数处理
 *  @parameters  查询参数对象
 *  @matchRule  匹配规则，若不需要则不写 匹配规则： eq 等于，rg 区间 大于等于---小于等于，rg 区间 大于等于---小于等于。rg 区间 大于等于---小于等于
 *  ne 不等于， lt 小于， le 小于等于，gt 大于，bw 开始于，bn 不开始于，ew 结束于，en 不结束于，cn 包含，nc 不包含
 **/
export const fromSearch = function (parameters:any={}, matchRule:any={}) {
    var postData:any = {};
    var res:string = "";
    Object.keys(parameters).forEach((key, i)=>{
        let searchType = matchRule[key];
        if (searchType === 'rg' && parameters[key] && parameters[key].length > 0) {
            res += ',{"field":"' + key + '","op":"' + 'ge' + '","data":"' + parameters[key][0] + '"}';
            res += ',{"field":"' + key + '","op":"' + 'le' + '","data":"' + parameters[key][1] + '"}';
        } else {
						// console.log(parameters,key);
            if (searchType && parameters[key]) {
                res += ',{"field":"' + key + '","op":"' + searchType + '","data":"' + parameters[key] + '"}';
            }
        }
        if (key == 'sort' || key == 'sidx' || key == 'gbk_sort') {
            postData[key] = parameters[key];
        }
    })
    if (res) {
        res = res.substring(1);
    }
    res = '{"groupOp":"AND","rules":[' + res + ']}';
    postData = Object.assign(postData,{ filters: res })
    console.log(Object.assign({}, postData))
    postData.filters = encodeURI(postData.filters);
    return postData;
};
/**
 * 表格排序回调
 * column：表格当前列的值
 * getDataFun：获取数据函数
 * searchForm:搜索关键词from
 * */
export const getSortChange = function (column:any, searchForm:any, getDataFun:any) {
    let order = '',
        orderName = '';
    if (column.order) {
        if (column.order == "ascending") {
            order = 'asc'
        } else if (column.order == "descending") {
            order = 'desc'
        }
    } else {
        order = searchForm.sord;//默认排序名称
    }
    if (column.prop) {
        orderName = column.prop;
    } else {
        orderName = searchForm.sidx;//默认排序
    }
    searchForm.sidx = orderName;
    searchForm.sort = order;
    //获取数据
    getDataFun();
};